package Dominio;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

public class ApuestaUsuarioData {
	private ApuestaData _apuesta;
	private PerfilData _user;
	private Date _fechaApuesta;
	private char _marca; //1 x 2
	private float _cantidad;
	private float _ratio;
	
	public ApuestaUsuarioData(ApuestaData a, PerfilData u, Date fA, char m, float c){
		set_apuesta(a);
		set_user(u);
		set_fechaApuesta(fA);
		set_marca(m);
		set_cantidad(c);
		switch(_marca){
			case '1':
				set_ratio(a.get_ratio1());
				break;
			case 'x':
				set_ratio(a.get_ratiox());
				break;
			default:
				set_ratio(a.get_ratio2());
				break;
					
		}
	}

	public ApuestaUsuarioData(ApuestaData a, PerfilData u, char m, float c){
		set_apuesta(a);
		set_user(u);
		set_marca(m);
		set_cantidad(c);
		switch(_marca){
			case '1':
				set_ratio(a.get_ratio1());
				break;
			case 'x':
				set_ratio(a.get_ratiox());
				break;
			default:
				set_ratio(a.get_ratio2());
				break;
					
		}
	}
	
	public ApuestaUsuarioData(ApuestaData a, PerfilData u, String fA, char m, float c){
		set_apuesta(a);
		set_user(u);
		set_fechaApuesta(fA);
		set_marca(m);
		set_cantidad(c);
		switch(_marca){
			case '1':
				set_ratio(a.get_ratio1());
				break;
			case 'x':
				set_ratio(a.get_ratiox());
				break;
			default:
				set_ratio(a.get_ratio2());
				break;	
		}
	}
	
	public ApuestaUsuarioData(ApuestaData a, PerfilData u, String fA, char m, float c,float r){
		set_apuesta(a);
		set_user(u);
		set_fechaApuesta(fA);
		set_marca(m);
		set_cantidad(c);
		set_ratio(r);
	}
	
	public ApuestaData get_apuesta() {
		return _apuesta;
	}

	public void set_apuesta(ApuestaData _apuesta) {
		this._apuesta = _apuesta;
	}

	public PerfilData get_user() {
		return _user;
	}

	public void set_user(PerfilData _user) {
		this._user = _user;
	}

	public Date get_fechaApuesta() {
		return _fechaApuesta;
	}

	public void set_fechaApuesta(Date _fechaApuesta) {
		this._fechaApuesta = _fechaApuesta;
	}

	public char get_marca() {
		return _marca;
	}

	public void set_marca(char _marca) {
		this._marca = _marca;
	}

	public float get_cantidad() {
		return _cantidad;
	}

	public void set_cantidad(float _cantidad) {
		this._cantidad = _cantidad;
	}
	
	public void set_fechaApuesta(String fecha){
		Date date = null;
		if(!fecha.equals("")){
			try {
				date = new SimpleDateFormat("yyyy-MM-dd").parse(fecha);
			} catch (ParseException e) {
				e.printStackTrace();
			}
		}
		_fechaApuesta = date;
	}
	
	public String get_fechaApuestaString(){
		if(_fechaApuesta != null)
			return new SimpleDateFormat("yyyy-MM-dd").format(_fechaApuesta);
		else 
			return "";
	}

	public float get_ratio() {
		return _ratio;
	}

	public void set_ratio(float _ratio) {
		this._ratio = _ratio;
	}
	
	public String toString(){
		return _apuesta.toString() + _user.toString() + "FechaCreacion: "+get_fechaApuestaString()
				+"\nMarca: "+_marca+"\nCantidad: "+_cantidad+"\nRatio "+_ratio+"\n";
	}
}
